Manager: Printing Manager



Carbon introduces substantial changes to the printing model. The original Printing Manager defined in Printing.h is replaced by a new Carbon Printing Manager defined in PMApplication.h. The Carbon Printing Manager allows applications to print on Mac OS 8 with existing printer drivers and on Mac OS X with new printer drivers.

The following is a summary of the major changes you need to be aware of. More information is available on the Carbon website: <http://developer.apple.com/macosx/carbon/>

* The Print Record (TPrint) is no longer directly accessible by applications, and has been split into two separate opaque objects: a PrintSettings object and a PageFormat object. Applications will be given references to these two privately-defined data structures. These references are then used to query the Printing Manager for information contained within the objects.

* A consequence of splitting the Print Record and making it private is there are no fixed sizes. Applications will be able to "extend" both the PrintSettings and PageFormat objects, but applications must not assume a specific size when storing and retrieving a PageFormat with documents.

* The Printing Manager will supply functions for flattening and restoring both the PrintSettings and PageFormat object. When storing printing information with documents it will suffice to store just the PageFormat object. If older versions of your application store a print record with a saved document, you may continue to do so to provide backward compatibility.

* Application developers should reduce the use of calls that append items to print dialogs. We expect to provide a new panel-based interface in the near future.

* All print records use the "draft" style, not the "deferred" style, which implies that a print driver must handle the spooling if it wants to provide spooling for the user. Many, if not all, print drivers perform their own spooling and don't require applications to call PrPicFile() to implement spooling. Because it is rarely used, we are eliminating system level spooling code from the Printing Manager.

* The Printing Manager will now enforce an order in which some routines are called. Any routine used out of scope will return an error.

* All Printing Manager routines are only valid within a PMBegin/PMEnd block.

* PrintSettings and PageFormats are automatically disposed of during a PMEnd call.

* The desktop printing functions defined in DesktopPrinting.h are not supported in Carbon.

Unsupported  CallDTPAsyncErrorNotificationProc

Unsupported  CallDTPEndNotificationProc

Unsupported  CallDTPInForegroundProc

Unsupported  CallDTPStatusMessageProc

Unsupported  CallPDlgInitProc

Unsupported  CallPItemProc

Unsupported  CallPrIdleProc

Unsupported  DisposeDTPAsyncErrorNotificationUPP

Unsupported  DisposeDTPEndNotificationUPP

Unsupported  DisposeDTPInForegroundUPP

Unsupported  DisposeDTPStatusMessageUPP

Unsupported  DisposePDlgInitUPP

Unsupported  DisposePItemUPP

Unsupported  DisposePrIdleUPP

Unsupported  DTPAsyncErrorNotificationProcPtr

Unsupported  DTPEndNotificationProcPtr

Unsupported  DTPInForegroundProcPtr

Unsupported  DTPStatusMessageProcPtr

Unsupported  InvokeDTPAsyncErrorNotificationUPP

Unsupported  InvokeDTPEndNotificationUPP

Unsupported  InvokeDTPInForegroundUPP

Unsupported  InvokeDTPStatusMessageUPP

Unsupported  InvokePDlgInitUPP

Unsupported  InvokePItemUPP

Unsupported  InvokePrIdleUPP

Unsupported  NewDTPAsyncErrorNotificationUPP

Unsupported  NewDTPEndNotificationUPP

Unsupported  NewDTPInForegroundUPP

Unsupported  NewDTPStatusMessageUPP

Unsupported  NewPDlgInitUPP

Unsupported  NewPItemUPP

Unsupported  NewPrIdleUPP

Unsupported  PDlgInitProcPtr

Unsupported  PItemProcPtr

Unsupported  PrClose

Replace PrClose with PMEnd. Not available in Carbon.

Unsupported  PrCloseDoc

Replace PrCloseDoc with PMEndDocument. Not available in Carbon.

Unsupported  PrClosePage

Replace PrClosePage with PMEndPage. Not available in Carbon.

Unsupported  PrCtlCall

Use the Carbon Printing Manager functions to send print requests to the printer driver. Not available in Carbon.

Unsupported  PrDlgMain

Replace PrDlgMain with a call to PMPrintDialogMain for a job dialog box or a call to PMPageSetUpDialogMain for a style dialog box. Not available in Carbon.

Unsupported  PrDrvrClose

Carbon applications must use Carbon Printing Manager functions instead. Not available in Carbon.

Unsupported  PrDrvrDCE

Not available in Carbon.

Unsupported  PrDrvrOpen

Carbon applications must use Carbon Printing Manager functions instead. Not available in Carbon.

Unsupported  PrDrvrVers

To send various print requests to the printer driver, use the higher-level Carbon Printing Manager functions instead. Not available in Carbon.

Unsupported  PrError

Replace PrError with PMError. Not available in Carbon.

Unsupported  PrGeneral

Replace PrGeneral with PMGeneral. Not available in Carbon.

Unsupported  PrGetPossibleRes

Unsupported  PrIdleProcPtr

Unsupported  PrintDefault

Replace PrintDefault with calls to PMDefaultPageFormat and PMDefaultPrintSettings. Not available in Carbon.

Unsupported  PrJobDialog

Replace PrJobDialog with PMPrintDialog. Not available in Carbon.

Unsupported  PrJobInit

Replace PrJobInit with PMPrintDialogInit. Not available in Carbon.

Unsupported  PrJobMerge

Not available in Carbon.

Unsupported  PrLoadDriver

Not available in Carbon.

Unsupported  PrNoPurge

Not available in Carbon.

Unsupported  PrOpen

Replace PrOpen with PMBegin. Not available in Carbon.

Unsupported  PrOpenDoc

Replace PrOpenDoc with PMBeginDocument. Not available in Carbon.

Unsupported  PrOpenPage

Replace PrOpenPage with PMBeginPage. Not available in Carbon.

Unsupported  PrPicFile

This function is obsolete. Printer drivers must perform their own spooling. Not available in Carbon.

Unsupported  PrPurge

Not available in Carbon.

Unsupported  PrSetError

Replace PrSetError with PMSetError. Not available in Carbon.

Unsupported  PrStlDialog

Replace PrStlDialog with PMPageSetUpDialog. Not available in Carbon.

Unsupported  PrStlInit

Replace PrStlInit with PMPageSetUpDialogInit. Not available in Carbon.

Unsupported  PrValidate

Replace PrValidate with calls to PMValidatePageFormat and PMValidatePrintSettings. Not available in Carbon.

[Table of Contents] [Manager Index] [Function Index]

Generated on: 8/1/2000. Copyright © 1999, 2000 Apple Computer, Inc. All rights reserved.